package com.moli.iov.base.model.dto.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.moli.iov.base.model.dto.VehicleCommand;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;

/**
 * 车辆监控 > 车辆管理 列表
 *
 * @author wanghualin
 * @date 2019 -09-17 09:22:02
 */
@Data
public class VehicleBaseQueryListResDto implements Serializable {
  /**
   * 车牌号
   */
  private Long id;
  /**
   * 车牌号
   */
  private String license;

  /**
   * 车架号
   */
  private String vin;

  /**
   * 在线状态(0:离线，1：在线)
   */
  private Integer onLineStatus;
  /**
   * 在线状态(0:离线，1：在线)
   */
  private String onLineStatusStr;

  /**
   * 所属公司
   */
  private Long companyId;

  /**
   * 所属公司名称
   */
  private String companyName;

  /**
   * /上报时间
   */
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
  private Date reportDate;
  /**
   * GPS 里程
   */
  private double extendGpsOde;
  /**
   * 累计里程
   */
  private double cumulativeMileage;
  /**
   * 仪表里程
   */
  private double instrumentMileage;
  /**
   * 钥匙状态
   */
  private String keyStatus;

  /**
   * 电源档位
   */
  private String powerStall;
  /**
   * 动力状态
   */
  private String powerState;
  /**
   * tbox状态 0未安装  1 已安装
   */
  private Integer deviceStatus;
  /**
   * 关注组
   */
  private Long attentionGroup;
  /**
   * 关注组
   */
  private String attentionGroupStr;
  /**
   * 定位状态 0未定位 1已定位
   */
  private Integer positioningState;
  /**
   * 车型指令控制数组
   */
  private List<VehicleCommand> vehicleCommandList;
  /**
   * 品牌
   */
  private String brand;
  /**
   * 车系
   */
  private String vehicleSeries;

  /**
   * 车型
   */
  private String vehicleType;

  /**
   * 上线提醒
   */
  private Integer onlineReminder;

  /**
   * 登入授权状态 允许 1/不允许 0
   */
  private Integer loginAuthorization;
  /**
   * 登入授权状态 允许 1/不允许 0
   */
  private String loginAuthorizationStr;

  /**
   * 失联报警状态 监控 1/不监控 0
   */
  private Integer offlineAlarm;
  /**
   * 失联报警状态 监控 1/不监控 0
   */
  private String offlineAlarmStr;

  /**
   * 终端报警状态 监控 1/不监控 0
   */
  private Integer terminalAlarm;
  /**
   * 终端报警状态 监控 1/不监控 0
   */
  private String terminalAlarmStr;

  /**
   * 围栏报警状态 监控 1/不监控 0
   */
  private Integer fenceAlarm;
  /**
   * 围栏报警状态 监控 1/不监控 0
   */
  private String fenceAlarmStr;

  /**
   * 里程异变报警状态 监控 1/不监控 0
   */
  private Integer mileageChangeAlarm;
  /**
   * 里程异变报警状态 监控 1/不监控 0
   */
  private String mileageChangeAlarmStr;

  /**
   * 授权状态
   */
  private Integer authorizedStatus;

}
